package com.jsp.blog;

import com.jfinal.core.Controller;
import com.jfinal.validate.Validator;

/**
 * BlogValidator.
 * Validator
 * Validator 自身实现了 Interceptor 接口，所以它也是一个拦截器，配置方式与拦截器完全一
 * 样。
 *
 * protected void validator(Controller c)方法中可以调用 validateXxx(…)系列方法进行后端校验，
 * protected void handleError(Controller c)方法中可以调用 c.keepPara(…)方法将提交的值再传
 * 回页面以便保持原先输入的值，还可以调用 c.render(…)方法来返回相应的页面。
 *
 * 注意handleError(Controller c)只有在校验失败时才会调用。
 *
 */
public class BlogValidator extends Validator {

	protected void validate(Controller controller) {
		validateRequiredString("blog.title", "titleMsg", "请输入Blog标题!");
		validateRequiredString("blog.content", "contentMsg", "请输入Blog内容!");
	}

	protected void handleError(Controller controller) {
		controller.keepModel(Blog.class);

		String actionKey = getActionKey();
		if (actionKey.equals("/blog/save"))
			controller.render("add.jsp");
		else if (actionKey.equals("/blog/update"))
			controller.render("edit.jsp");
	}
}
